﻿Imports EVOLTA.Promocion.Bl.Bc
Imports EVOLTA.Promocion.Bl.Be
Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration

Partial Class Reportes_ReporteFacturaSCOT
    Inherits System.Web.UI.Page

    Private ventas As List(Of EseparacionVenta) = Nothing
    Private ventaDetalles As List(Of EseparacionVentaDetalle)
    Private iTipoCambio As Decimal
    Private tjsMensaje As String

#Region "       Formulario                          "
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Response.CacheControl = "no-cache"
        Response.AddHeader("Pragma", "no-cache")
        Response.Expires = -1
        '***********************************************************'
        If Not IsPostBack Then

        End If
    End Sub

    Protected Sub btnBuscar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnBuscar.Click
        Dim dtFacturaciones As New DataTable
        dtFacturaciones = CargarReporteFacturacionBCP(Me.Master.descEmpresa)
        If Not dtFacturaciones Is Nothing Then
            egvSeparacionVenta.DataSource = dtFacturaciones
            egvSeparacionVenta.DataBind()
            upnSeparacionVenta.Update()
            'lblCantidadTotalSeparación.Text = String.Format(": {0}", ventas.Count.ToString)
            'lblTotalPrecioVenta.Text = String.Format(": {0:###,###,##00.00}", (From sep As EseparacionVenta In ventas _
            '                                                                   Select sep.totalPrecioVenta).Sum())
        End If
    End Sub
    Protected Sub btnLimpiar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnLimpiar.Click
        Me.lblCantidadTotalSeparación.Text = "0"
        Me.lblTotalPrecioVenta.Text = "0.00"
        txtCliente.Value = ""
        txtNroDocumento.Value = ""
        egvSeparacionVenta.DataSource = Nothing
        upnSeparacionVenta.Update()
        upVendedor.Update()
    End Sub

    Private Function CargarReporteFacturacionBCP(ByVal descEmpresa As String) As DataTable
        Dim resultado As DataTable = Nothing
        Dim dt As DataTable = Nothing
        Dim da As SqlDataAdapter = Nothing

        Dim pIdCliente As String
        Dim pNroDocumento As String


        pIdCliente = Me.txtCliente.Value
        pNroDocumento = Me.txtNroDocumento.Value

        Using cn As New SqlConnection(ConfigurationManager.ConnectionStrings(descEmpresa).ConnectionString)
            Using cmd As New SqlCommand("usp_Rep_Facturacion_BCP_EPAZCENPR", cn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@Cliente", SqlDbType.VarChar, 55).Value = pIdCliente
                cmd.Parameters.Add("@NroDocumento", SqlDbType.VarChar, 15).Value = pNroDocumento
                Try
                    cn.Open()
                    dt = New DataTable()
                    da = New SqlDataAdapter(cmd)
                    da.Fill(dt)
                    resultado = dt
                Catch ex As Exception
                    resultado = Nothing
                    Throw
                End Try
            End Using
        End Using
        Return resultado
    End Function


    Protected Sub btnExportar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnExportar.Click

        Try
            Dim dtSeparaciones As New DataTable
            dtSeparaciones = CargarReporteFacturacionBCP(Me.Master.descEmpresa)
            Dim contador As Integer = 1
            Dim dTipoCambio As Decimal = 0
            Dim strTipoCambio As String = ""
            If dtSeparaciones.Rows.Count Then


                Dim fileName As String = "ConsultaFacturacionBCP{0}.xls"
                fileName = String.Format(fileName, DateTime.Now.ToShortDateString())
                Dim Response As HttpResponse = HttpContext.Current.Response
                Response.ContentType = "application/vnd.ms-excel"
                Response.Charset = "UTF-8"
                Response.ContentEncoding = System.Text.Encoding.Default
                Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName)

                Response.Write("EDIF o BLOCK") : Response.Write(vbTab)
                Response.Write("N° DPTO.") : Response.Write(vbTab)
                Response.Write("EST 1") : Response.Write(vbTab)
                Response.Write("EST 2") : Response.Write(vbTab)
                Response.Write("DEPOS") : Response.Write(vbTab)
                Response.Write("NOMBRE COMPRADOR") : Response.Write(vbTab)
                Response.Write("DNI / C.EXTRA. / RUC") : Response.Write(vbTab)
                Response.Write("PRECIO S/.") : Response.Write(vbTab)
                Response.Write("CTA INICIALES RECIBIDAS") : Response.Write(vbTab)
                Response.Write("CTA INICIALES POR RECIBIR") : Response.Write(vbTab)
                Response.Write("MAYOR PAGO RECIBIDAS") : Response.Write(vbTab)
                Response.Write("MAYOR PAGO POR RECIBIR") : Response.Write(vbTab)
                Response.Write("CH RECIBIDAS") : Response.Write(vbTab)
                Response.Write("CH POR RECIBIR BCP") : Response.Write(vbTab)

                ''Situacion
                Response.Write("Nombre de Otro banco") : Response.Write(vbTab)
                Response.Write("ESTADO DE FONDOS DE CREDITOS  HIPOTEC") : Response.Write(vbTab)
                Response.Write("DOCUM. ENTREGADA AL BCP") : Response.Write(vbTab)
                Response.Write("CARTAS FIANZA") : Response.Write(vbTab)
                Response.Write("FECHA DESEMB.") : Response.Write(vbTab)
                Response.Write("FECHA ABONO") : Response.Write(vbTab)
                ''Financiamiento
                Response.Write("Sistema de Crédito") : Response.Write(vbTab)
                Response.Write("CTAS AHORRADAS") : Response.Write(vbTab)
                Response.Write("Situación de Crédito") : Response.Write(vbTab)
                Response.Write("Minuta Compra Venta") : Response.Write(vbTab)
                ''Datos de Venta
                Response.Write("Clientes en espera de Desembolso o pago al contado") : Response.Write(vbTab)
                Response.Write(vbCrLf)

                For Each Fila As DataRow In dtSeparaciones.Rows
                    Dim valor As String

                    '''''First
                    '' valor = Fila("ITEM").ToString
                    '' Response.Write(contador.ToString()) : Response.Write(vbTab)

                    valor = Fila("TORRE").ToString
                    Response.Write(valor) : Response.Write(vbTab)

                    valor = Fila("N_DPTO").ToString
                    Response.Write(valor) : Response.Write(vbTab)

                    valor = Fila("N_EST1").ToString
                    Response.Write(valor) : Response.Write(vbTab)

                    valor = Fila("N_EST2").ToString
                    Response.Write(valor) : Response.Write(vbTab)

                    valor = Fila("N_DEPOSITO").ToString
                    Response.Write(valor) : Response.Write(vbTab)

                    valor = Fila("CLIENTE").ToString
                    Response.Write(valor) : Response.Write(vbTab)

                    valor = Fila("DNI").ToString
                    Response.Write(valor) : Response.Write(vbTab)

                    valor = "S/. " + String.Format("{0:#,###,##0.00}", Fila("PRECIO").ToString)
                    ''valor = Fila("DPTO_PREC_VENTA_REAL").ToString
                    Response.Write(valor) : Response.Write(vbTab)

                    valor = "S/. " + String.Format("{0:#,###,##0.00}", Fila("CTA_INICIAL_RECIB").ToString)
                    ''valor = Fila("DPTO_PREC_VENTA_REAL").ToString
                    Response.Write(valor) : Response.Write(vbTab)

                    valor = "S/. " + String.Format("{0:#,###,##0.00}", Fila("CTA_INICIAL_POR_RECIB").ToString)
                    ''valor = Fila("DPTO_PREC_VENTA_REAL").ToString
                    Response.Write(valor) : Response.Write(vbTab)

                    valor = "S/. " + String.Format("{0:#,###,##0.00}", Fila("MAYOR_PAGO_RECIB").ToString)
                    ''valor = Fila("DPTO_PREC_VENTA_REAL").ToString
                    Response.Write(valor) : Response.Write(vbTab)

                    valor = "S/. " + String.Format("{0:#,###,##0.00}", Fila("MAYOR_PAGO_POR_RECIB").ToString)
                    ''valor = Fila("DPTO_PREC_VENTA_REAL").ToString
                    Response.Write(valor) : Response.Write(vbTab)

                    valor = ""
                    Response.Write(valor) : Response.Write(vbTab)

                    valor = ""
                    Response.Write(valor) : Response.Write(vbTab)

                    valor = "S/. " + String.Format("{0:#,###,##0.00}", Fila("CRE_HIP_POR_RECIBIR_BCP").ToString)
                    ''valor = Fila("DPTO_PREC_VENTA_REAL").ToString
                    Response.Write(valor) : Response.Write(vbTab)

                    valor = ""
                    Response.Write(valor) : Response.Write(vbTab)

                    valor = ""
                    Response.Write(valor) : Response.Write(vbTab)

                    valor = ""
                    Response.Write(valor) : Response.Write(vbTab)

                    valor = ""
                    Response.Write(valor) : Response.Write(vbTab)

                    valor = ""
                    Response.Write(valor) : Response.Write(vbTab)

                    valor = ""
                    Response.Write(valor) : Response.Write(vbTab)

                    valor = Fila("SISTEMA_CREDITO").ToString
                    Response.Write(valor) : Response.Write(vbTab)

                    valor = String.Format("{0:#,###,##0}", Fila("CUOTAS_AHORRADAS").ToString)
                    ''valor = Fila("AREA_DPTO").ToString
                    Response.Write(valor) : Response.Write(vbTab)

                    valor = ""
                    Response.Write(valor) : Response.Write(vbTab)

                    valor = Fila("MINUTA_COMPRA_VENTA").ToString
                    ''valor = Fila("AREA_TERRAZA").ToString
                    Response.Write(valor) : Response.Write(vbTab)

                    valor = "1"
                    Response.Write(valor) : Response.Write(vbTab)

                    contador = contador + 1

                    Response.Write(vbCrLf)
                Next
                Response.End()
            Else
                Dim jsMensaje As String = Nothing
                jsMensaje = "<script>javascript:alert(' La consulta no pudo ser procesada.  Por favor inténtelo de nuevo.');</script>)"
                Controls.Add(New LiteralControl(jsMensaje))
            End If
        Catch ex As Exception
            Dim jsMensajeTwo As String = Nothing
            jsMensajeTwo = "<script>javascript:alert(' La consulta no pudo ser procesada.  Por favor inténtelo de nuevo.');</script>)"
        End Try

    End Sub


#End Region

#Region "       Venta Detalle                       "
    Protected Sub egvSeparacionVenta_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles egvSeparacionVenta.PageIndexChanging
        ventas = Session("ventasLista")
        If Not ventas Is Nothing Then
            egvSeparacionVenta.DataSource = ventas
            egvSeparacionVenta.PageIndex = e.NewPageIndex
            egvSeparacionVenta.DataBind()
            upnSeparacionVenta.Update()
        End If
    End Sub
    Protected Sub egvSeparacionVenta_RowCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) _
        Handles egvSeparacionVenta.RowCreated
        If e.Row.RowType = DataControlRowType.DataRow Then
            e.Row.Attributes.Add("OnMouseOver", "Resaltar_On(this);")
            e.Row.Attributes.Add("OnMouseOut", "Resaltar_Off(this);")

            'Dim strUidSeparacion As String = DataBinder.Eval(e.Row.DataItem, "ISEPARACIONVENTA").ToString()
            'Dim egvDetalleSeparacion As GridView = CType(e.Row.FindControl("egvDetalleSeparacion"), GridView)
            'AddHandler egvDetalleSeparacion.RowCreated, AddressOf egvDetalleSeparacion_RowCreated
            'If strUidSeparacion.Length > 0 Then
            '    'ventaDetalles = Session("ventasListaDetalle")
            '    ventaDetalles = Session("ventasListaDetalle")
            '    Dim LVentaDetalles = From vd In ventaDetalles _
            '                            Where vd.idProyecto.ToString = Me.Master.idProyecto AndAlso _
            '                                  vd.idEtapa = Me.Master.idEtapa AndAlso _
            '                                  vd.idSeparacionVenta = CType(strUidSeparacion, Int32) _
            '                            Select vd

            '    If ventaDetalles.Count > 0 Then
            '        egvDetalleSeparacion.DataSource = LVentaDetalles
            '        Dim objFila As ExGridView.ExtGridViewRow = CType(e.Row, ExGridView.ExtGridViewRow)
            '        objFila.ShowExpand = True
            '    End If
            'End If
        End If
    End Sub
    Protected Sub egvDetalleSeparacion_RowCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs)
        If e.Row.RowType = DataControlRowType.DataRow Then
            e.Row.Attributes.Add("OnMouseOver", "Resaltar_On(this);")
            e.Row.Attributes.Add("OnMouseOut", "Resaltar_Off(this);")
        End If
    End Sub
#End Region

End Class